package cm.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "XxlJobInfoVO", description = "")
public class XxlJobInfoVO implements Serializable {
    private static final long serialVersionUID = -75438938058497784L;

    @ApiModelProperty(value = "${column.comment}")
    private Integer id;
    
    @ApiModelProperty(value = "执行器主键ID")
    private Integer jobGroup;
    
    @ApiModelProperty(value = "${column.comment}")
    private String jobDesc;
    
    @ApiModelProperty(value = "${column.comment}")
    private LocalDateTime addTime;
    
    @ApiModelProperty(value = "${column.comment}")
    private LocalDateTime updateTime;
    
    @ApiModelProperty(value = "作者")
    private String author;
    
    @ApiModelProperty(value = "报警邮件")
    private String alarmEmail;
    
    @ApiModelProperty(value = "调度类型")
    private String scheduleType;
    
    @ApiModelProperty(value = "调度配置，值含义取决于调度类型")
    private String scheduleConf;
    
    @ApiModelProperty(value = "调度过期策略")
    private String misfireStrategy;
    
    @ApiModelProperty(value = "执行器路由策略")
    private String executorRouteStrategy;
    
    @ApiModelProperty(value = "执行器任务handler")
    private String executorHandler;
    
    @ApiModelProperty(value = "执行器任务参数")
    private String executorParam;
    
    @ApiModelProperty(value = "阻塞处理策略")
    private String executorBlockStrategy;
    
    @ApiModelProperty(value = "任务执行超时时间，单位秒")
    private Integer executorTimeout;
    
    @ApiModelProperty(value = "失败重试次数")
    private Integer executorFailRetryCount;
    
    @ApiModelProperty(value = "GLUE类型")
    private String glueType;
    
    @ApiModelProperty(value = "GLUE源代码")
    private String glueSource;
    
    @ApiModelProperty(value = "GLUE备注")
    private String glueRemark;
    
    @ApiModelProperty(value = "GLUE更新时间")
    private LocalDateTime glueUpdatetime;
    
    @ApiModelProperty(value = "子任务ID，多个逗号分隔")
    private String childJobid;
    
    @ApiModelProperty(value = "调度状态：0-停止，1-运行")
    private Integer triggerStatus;
    
    @ApiModelProperty(value = "上次调度时间")
    private Long triggerLastTime;
    
    @ApiModelProperty(value = "下次调度时间")
    private Long triggerNextTime;
    
}

